The present disclosure generally relates to semiconductor memory devices. More particularly, the present disclosure relates to a method and apparatus for fast and efficient programming of flash memory devices.
Flash memories may be used for mass storage and/or executable code memory applications. Mass storage applications generally use NAND types of flash memories. NAND flash memories feature relatively low cost and relatively high density compared to NOR flash memories. In addition, the NAND memories have very good program/erase (P/E) cycling endurance. Thus, NAND flash memories are suitable for use in applications such as memory cards, which may be used in mobile computers, solid-state disks (SSD), which feature rugged and reliable storage, digital cameras, which store still and moving pictures, and voice or audio recorders, which may approach the audio quality of compact disks (CD).
Executable code memory applications generally use NOR types of flash memories. NOR flash memories feature relatively fast random access and execute-in-place (XIP) capabilities compared to NAND flash memories. Thus, NOR flash memories are suitable to use in applications such as basic input/output system (BIOS) for networking, personal computers (PC), routers, hubs, telecommunications switches, cellular telephone code and data, point of sale (POS), personal digital assistant (PDA) and personal communications assistant (PCA) devices, including both code and data.